命令行选项
在启动 NW.js 时,您可以使用以下命令行选项来更改一些默认行为。
关于命令行参数
当用户使用您的应用在命令行下打开文件时,例如 your-app file.txt file2.txt
,file.txt file2.txt
将被记录,您可以使用 nw.App.argv 获取命令行参数数组。如果您的应用已经有一个正在运行的实例,第二个实例的完整命令行将通过向 App
对象发送 open
事件传递给现有实例。
注意
目前存在一个限制:如果命令行参数是磁盘上 .js 文件的文件名,NW 将直接将其作为上游 Node.js 运行。这是为了支持 child_process.fork()
API。
--url
使用默认应用程序加载 URL:--url=https://nw.js.cn
--mixed-context
在 混合上下文模式 下运行 NW.js,而不是单独上下文模式。
--nwapp
指定应用程序路径的另一种方法。此参数在 使用 ChromeDriver 测试 时特别有用。
--user-data-dir
指定应用程序的数据目录,其中包含存储的数据、缓存和崩溃转储等。默认情况下,数据目录位于以下目录中,具体取决于您的平台
- Windows:
%LOCALAPPDATA%/<name-in-manifest>/
- Mac:
~/Library/Application Support/<name-in-manifest>/
- Linux:
~/.config/<name-in-manifest>
其中 <name-in-manifest>
是 清单中的 name
字段。
--disable-devtools
禁用用户在 SDK 构建中访问开发者工具功能。
--enable-node-worker
在 Web Workers 中启用 Node.js 集成。这将帮助您使用新线程卸载 CPU 密集型任务,同时使用 交换大量数据 与 DOM 有效地使用 结构化克隆 算法。
请注意,Node.js 的二进制模块需要是线程安全的才能以这种方式使用。我们对 Node.js 内核进行了修改,以确保内核 API 是线程安全的,但我们不能保证第三方二进制模块也是线程安全的。纯 JS 模块是线程安全的,只要它们仅依赖于线程安全的模块。并且当该功能未启用时,不应该有任何副作用。
--disable-raf-throttling
当使用它时,requestAnimationFrame() 回调将在窗口最小化或隐藏时继续触发。这对游戏开发者很有用。当不使用该参数时,它的行为与 Chrome 浏览器相同,并且没有副作用。
--disable-cookie-encryption
默认情况下,磁盘上的 cookie 存储在 Chromium 中是加密的。使用此开关禁用加密以进行测试目的(例如,在不同系统之间共享 cookie 存储)。
--disable-crash-handler=true
禁用单进程模式的崩溃处理程序进程。注意:您应该明确将其设置为“true”。当一起使用它和 --single-process
时,您的应用程序将只有一个 NW 进程。使用此开关将禁用崩溃转储功能。此开关必须放在命令行中(而不是 package.json 中)才能生效。
--enable-gcm
启用 chrome.gcm API。
--enable-transparent-visuals
--disable-transparency
--disable-gpu
--force-cpu-draw
这些选项与透明窗口功能相关。有关详细信息,请参阅 透明窗口。
其他 Chromium 选项
您也可以使用 https://github.com/nwjs/chromium.src/blob/nw18/chrome/common/chrome_switches.cc 和 https://github.com/nwjs/chromium.src/blob/nw18/content/public/common/content_switches.cc 中列出的 Chromium 选项。另请参阅 http://peter.sh/experiments/chromium-command-line-switches/
这些选项可以放入 清单中的 chromium-args
中,以便每次运行 NW.js 时都使用它们。
环境变量
NW_PRE_ARGS
的值会附加到清单文件中 chromium-args
的值之前。